This invention relates to terrain map displays, and more particularly, this invention relates to a system and method for processing and creating digital terrain elevation data plan-view maps relying on a graphics application programming interface (API).
Digital map generation and display systems access and display digital terrain map images effectively in real time with the travel of an aircraft, helicopter or other object over terrain. One factor in the ability of the system to effect a real time display is to use the combination of scene memory for storing a portion of digital map imagery data from a mass storage device in a prescribed orientation, such as north-up, and a controlled addressing scheme for reading the data from scene memory for displaying the image in accordance with the heading information supplied by an aircraft""s on-board navigation equipment. U.S. Pat. No. 5,299,300 issued Mar. 29, 1994 to Femal et al., the disclosure which is hereby incorporated by reference in its entirety, discloses a hardware embodiment of interpolation processing of digital map imagery data that retrieves full and half resolution data stored in half-resolution addresses.
The advent of commercial off-the-shelf (COTS) graphics hardware, such as driven by advanced and sophisticated PC game markets, has placed pressure on custom avionics market place to use COTS graphics hardware and software. The avionics community, however, requires high fidelity digital terrain elevation data map displays. Under a commercial off-the-shelf graphics application programming interface, such as the OpenGL, a terrain is modeled with a series of polygons and a lighting model is used to illuminate the terrain providing the relief image. For example, an OpenGL image, as an example, can use a half-a-million polygons in one image. The polygons could be triangles where the corner of each triangle includes an elevation post and particular coordinates for the post. Every triangle and its coordinates are sent through the OpenGL or other COTS application programming interface (API). A processor calculates the surface angle and slope based on the received coordinates and determines where the sun is located.
This use of a large number of polygons requires a large memory and processor bandwidth to create the imagery, which is also required to rotate, i.e., translate and zoom, at rates of a minimum of 20 Hz. Maintaining a plan-view digital terrain elevation data display via conventional, commercial off-the-shelf methods requires significant processing capability, as noted above. These terrain displays are generated via polygonal meshes and use the lighting model. They are bandwidth intensive and processor heavy, and are not as desirable if a more simple and efficient solution could be found.
The present invention is advantageous because it is now no longer necessary to create a polygonal mesh and lighting model that is used, in turn, to create a plan-view digital terrain elevation data display. The present invention advantageously uses a bit-mapped image, texture map, where each pixel value corresponds to a color in a color map, such as a gray scale image color map. By careful construction of these two items, it is possible to create a three-dimensional relief map that can have a moving sun-angle without expensive calculations. For every digital terrain elevation data post, a normal is calculated relative to the terrain surface. This value is encoded in a half-polar coordinate system with tilt and azimuth, which are represented as two fixed-point integers. A color (gray scale as one example) table is created and contains the illumination colors given a particular azimuth and tilt combination. The native two-dimensional color table array is xe2x80x9ccollapsedxe2x80x9d into a single-dimensional array by concatenating (link together), the azimuth and tilt into a single integer, where azimuth will be in the most significant position.
The color index/color pallet mode of an application programming interface is used for the grid of single-value surface normals that become a texture. During rendering, the color table is used by the graphic subsystem to convert the xe2x80x9ccolor indexxe2x80x9d into an RGB color.
When the heading angle of the map changes, the result is a simple change in azimuth. To avoid any optical illusion problem, the virtual sun must appear to remain in the upper left corner of the display. Because the map imagery is rotated, the illumination angle of the sun is counter-rotated, compensating for the map rotation. The counter-rotating movement of the sun-angle can be accomplished by shifting the values in the color table. Instead of using a hardware application, the present invention manipulates digital terrain elevation data such that the effect caused by some prior art hardware devices are performed with a graphics application programming interface, which lowers the bandwidth by orders of magnitude, freeing up resources for other features. The applications can include airborne digital maps, mission planning systems and geospatial/cartographic systems.